@风铃
1年前 提问
1个回答

什么是反向代理

在下炳尚
1年前

反向代理的基本思想非常简单。它是用户和后端服务器之间的中间服务器。它的目的可能大不相同但它可以根据URL将请求,路由到各种后端,也可以只是保护免受某些攻击。实现方式也可以不同,但是步骤的主要顺序是完全相同的。反向代理必须接收请求,它必须处理该请求,对该请求执行一些操作,然后转发给后端。

网络安全中的网络代理主要有以下分类:

  • HTTP代理:WWW对于每一个上网的人都再熟悉不过了,WWW连接请求就是采用的HTTP协议,所以我们在浏览网页、下载数据(也可采用FTP协议)时就是用HTTP代理。它通常绑定在代理服务器的80、3128和8080等端口上。

  • Socks代理:相应地,采用Socks协议的代理服务器就是SOCKS服务器,是一种通用的代理服务器。Socks是个电路级的底层网关,是DavidKoblas在1990年开发的,此后就一直作为Internet RFC标准的开放标准。Socks不要求应用程序遵循特定的操作系统平台,Socks代理与应用层代理、HTTP层代理不同,Socks代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求)。所以,Socks代理比其他应用层代理要快得多。它通常绑定在代理服务器的1080端口上。如果用户在企业网或校园网上,需要透过防火墙或通过代理服务器访问Internet就可能需要使用Socks代理。一般情况下,对于拨号上网用户都不需要使用它。

  • VPN代理:指在共用网络上建立专用网络的技术。之所以称为虚拟网主要是因为整个VPN网络的任意两个结点之间的连接并没有传统专网建设所需的点到点的物理链路,而是架构在公用网络服务商ISP所提供的网络平台之上的逻辑网络。用户的数据是通过ISP在公共网络(Internet)中建立的逻辑隧道(Tunnel),即点到点的虚拟专线进行传输的。通过相应的加密和认证技术来保证用户内部网络数据在公网上安全传输,从而真正实现网络数据的专有性。

  • 反向代理:反向代理服务器架设在服务器端,通过缓冲经常被请求的页面来缓解服务器的工作量。反向代理不需要在使用的电脑上配置 IP 和端口,它的目的刚好和正向代理类比(说相反不太恰当,因为都是为了解决跨网域问题)。例如用户想要访问某个公司内部局域网的某台服务器,如果直接输入 10.10.10.10 是根本行不通的。但是,如果这个公司有一台电脑,具备公网 IP,那它就可以做反向代理服务器,用户访问这个公网 IP,由反向代理服务器去访问内网资源,再转发响应给用户。

  • 正向代理:正向代理通常用在局域网想访问万维网上某服务器的情况,例如国内用户(墙内也是一个大的局域网)想访问 YouTube 服务器,如果直接在浏览器中输入 www.youtube.com 通常是无法访问的。这个时候,如果存在一台服务器,它可以访问 YouTube,你可以访问它,那就可以把它作为一个正向代理服务器。当你想访问 YouTube 的时候,你把请求发给正向代理服务器,由它转发请求去访问 YouTube,并将响应返还给你。